Method and apparatus of cross-correlation

ABSTRACT

Briefly, a method and apparatus to calculate cross-correlation values of complex binary sequences are provided. The apparatus may include a transformation unit and a cross-correlator. The cross-correlator may include a cross-correlation controller to provide, based on a type bit and a sign bit, a real component and/or an imaginary component of signals of complex binary sequences to a real accumulator and/or to an imaginary accumulator.

CROSS-REFERENCES TO RELATED APPLICATIONS

This present application is a continuation of U.S. patent application Ser. No. 11/624,550 filed Jan. 18, 2007 titled, “METHOD AND APPARATUS OF CROSS-CORRELATION”, which is a continuation of U.S. Pat. No. 7,203,253 issued Apr. 10, 2007 titled, “METHOD AND APPARATUS OF CROSS-CORRELATION.” The specification of said application and patent are hereby incorporated in their entirety, except for those sections, if any, that are inconsistent with this specification.

BACKGROUND OF THE INVENTION

In wireless communication systems such as spread spectrum cellular communication systems, cross-correlators may be used to perform cross correlation between streams of sequences of spread spectrum signals. For example, in cellular wideband code division multiple access (WCDMA) systems a spread spectrum signal may include a coding sequence, for example, a pseudo-random code. In cellular wideband code division multiple access (WCDMA) systems, the pseudo-random code may be an M-sequence or a Gold Sequence which has good “noise like” properties and is simple to construct. Furthermore, the sequences of the spread spectrum signal may be the product of a 64 chip Walsh code (aimed at separating up to 64 different users per base) and a periodic pseudorandom noise (PN) sequence (aimed at separating the different bases).

Cross-correlators may be used to perform cross-correlation between the streams of sequences. However, existing hardware implementations of cross-correlators may include a large number of components and may consume large currents.

Thus, there is a need for hardware and/or software implementations for calculating cross-correlation values to mitigate the above-described disadvantages.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings in which:

FIG. 1 is a schematic flowchart depicting a method according to an exemplary embodiment of the present invention;

FIG. 2 is a schematic illustration helpful in understanding a phase rotation according to some exemplary embodiments of the present invention; and

FIG. 3 is a schematic diagram of a receiver according to some exemplary embodiments of the present invention.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However it will be understood by those of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the present invention.

Some portions of the detailed description which follow are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be the techniques used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.

It should be understood that the present invention may be used in variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as receivers of a radio system. Receivers intended to be included within the scope of the present invention include, by a way of example only, cellular radiotelephone receivers, spread spectrum receivers, digital system receivers and a like.

Types of cellular radiotelephone receivers intended to be within the scope of the present invention include, although not limited to, Code Division Multiple Access (CDMA), CDMA 2000 and wideband CDMA (WCDMA) cellular radiotelephone, receivers for receiving spread spectrum signals, and the like.

Turning to FIG. 1, a method of cross-correlating between at least two signals of complex binary sequences according to an embodiment of the invention is shown. Although the scope of the present invention is not limited in this respect, the method may begin with transforming quadrature phase shift keying (QPSK) sequences into two signals of complex binary sequences (block 100), if desired.

Although the scope of the present invention is not limited in this respect, the transforming of QPSK sequences into two signals of complex binary sequences may be demonstrated by the following equations. The following equation may be used to calculate a complex cross correlation between two QPSK complex sequences:

$\begin{matrix} {{{CC}\left( {n,d} \right)} = {\sum\limits_{i = 0}^{L - 1}{{S_{1}\left( {n + i} \right)} \cdot {S_{2}^{*}\left( {n + i + d} \right)}}}} & {{Equation}\mspace{14mu} 1} \end{matrix}$

wherein:

S₁(n), S₂(n) are two signals of complex sequences with given complex values of ±A±j·A;

L is the number of cross correlation terms; and

d is the delay between the two sequences.

Equation 1 may be further developed in the following manner:

$\begin{matrix} {{{CC}\left( {n,d} \right)} = {{\sum\limits_{i = 0}^{L - 1}{{S_{1}\left( {n + i} \right)} \cdot {S_{2}^{*}\left( {n + i + d} \right)}}} = {2 \cdot {\sum\limits_{i = 0}^{L - 1}{{{\overset{\sim}{S}}_{1}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2}^{*}\left( {n + i + d} \right)}}}}}} & {{Equation}\mspace{14mu} 2} \end{matrix}$ As demonstrated by Equation 2, the cross correlation sequences S₁(n), S₂(n) may be replaced by two signals of complex binary sequences {tilde over (S)}₁(n), {tilde over (S)}₂(n). The content of the signals {tilde over (S)}₁(n), {tilde over (S)}₂(n) may be depicted by the following equation: {tilde over (S)} _(1I)(n)=(S _(1I)(n)+S _(1Q)(n))/2 {tilde over (S)} _(1Q)(n)=(S _(1I)(n)+S _(1Q)(n))/2 {tilde over (S)} _(2I)(n)=(S _(2I)(n)+S _(2Q)(n))/2 {tilde over (S)} _(2Q)(n)=(−S _(2I)(n)+S _(2Q)(n))/2  Equation 3 wherein notation I may denote an in-phase component of signals {tilde over (S)}₁(n), {tilde over (S)}₂(n) and notation Q may denote a quadrature phase component of signals {tilde over (S)}₁(n), {tilde over (S)}₂(n). Furthermore, it should be known to one skilled in the art that notation I may represent a real component of signals {tilde over (S)}₁(n), {tilde over (S)}₂(n), and notation Q may represent an imaginary component of signals {tilde over (S)}₁(n), {tilde over (S)}₂(n) signals.

Although the scope of the present invention is not limited in this respect, transformation of QPSK sequences to complex binary sequences may be performed by ±(π/4) phase rotation of QPSK sequences, as described below with reference to FIG. 2.

Turning to FIG. 2, an illustration helpful for describing rotation of QPSK sequences according to embodiments of the present invention is shown. Although the scope of the present invention is not limited in this respect, FIG. 2 shows ±(π/4) rotations of QPSK sequence values. However, in other embodiment of the present invention, ±(π/4) rotation of 16 quadrature amplitude modulation (QAM) sequences or other suitable forms of sequence rotation may be performed, if desired. More practically, QPSK values X1, X2, X3, and X4 may be rotated to be on either an imaginary axis or a real axis. For example, X1 may be rotated to be on the real axis, X2 may be rotated to be on the imaginary axis, X3 may be rotated to be on the real axis and X4 may be rotated to be on the imaginary axis. It should be understood to one skilled in the art that rotating of QPSK sequence values may be analogues to transforming of QPSK sequences to real or imaginary components of a complex binary sequence, if desired.

Furthermore, the rotation may be utilized to simplify the cross correlation calculations, as described by the following equation:

$\begin{matrix} {{{{\overset{\sim}{S}}_{1}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2}^{*}\left( {n + i + d} \right)}} = \left\{ \begin{matrix} {{{\overset{\sim}{S}}_{1\; I}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2\; I}\left( {n + i + d} \right)}} & {{{S_{1\; I}\left( {n + i} \right)} = {S_{1\; Q}\left( {n + i} \right)}},{{S_{2\; I}\left( {n + i + d} \right)} = {S_{2\; Q}\left( {n + i + d} \right)}}} \\ {{- j} \cdot {{\overset{\sim}{S}}_{1\; I}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2\; Q}\left( {n + i + d} \right)}} & {{{S_{1\; I}\left( {n + i} \right)} = {S_{1\; Q}\left( {n + i} \right)}},{{S_{2\; I}\left( {n + i + d} \right)} \neq {S_{2\; Q}\left( {n + i + d} \right)}}} \\ {j \cdot {{\overset{\sim}{S}}_{1\; Q}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2\; I}\left( {n + i + d} \right)}} & {{{S_{1\; I}\left( {n + i} \right)} \neq {S_{1\; Q}\left( {n + i} \right)}},{{S_{2\; I}\left( {n + i + d} \right)} = {S_{2\; Q}\left( {n + i + d} \right)}}} \\ {{{\overset{\sim}{S}}_{1\; Q}\left( {n + i} \right)} \cdot {{\overset{\sim}{S}}_{2\; Q}\left( {n + i + d} \right)}} & {{{S_{1\; I}\left( {n + i} \right)} \neq {S_{1\; Q}\left( {n + i} \right)}},{{S_{2\; I}\left( {n + i + d} \right)} \neq {S_{2\; Q}\left( {n + i + d} \right)}}} \end{matrix} \right.} & {{Equation}\mspace{14mu} 4} \end{matrix}$ As may be seen in Equation 4, the complex binary sequence signals {tilde over (S)}₁(n), {tilde over (S)}₂(n) are either purely real or purely imaginary, which may reduce the number of real and/or imaginary multiplications required for performing complex multiplication from four to one.

Turning back to FIG. 1, the method may continue with transforming a complex sequence into a sign bit and a type bit representation (block 110). For example, as shown in FIG. 2, a rotation and transformation of the value X1 may generate a sign bit “plus” and a type bit “real”. Furthermore, a rotation and transformation of the sequence X4 may generate a sign bit “minus” and a type bit “imaginary”. Although the present invention is not limited in this respect, rotation and transformation of sequences may be performed in single operation, if desired. However, in other embodiments of the invention rotation and transformation may be performed by separate operations. In addition, in one embodiment of the present invention, the type bit and the sign bit may be used to provide a real component and/or an imaginary component of the complex binary sequences to real and/or imaginary accumulator, respectively (block 120).

Although the scope of the present invention is not limited in this respect, at least two accumulators may be used, a first accumulator may be used to output a real component of cross-correlation results and the second accumulator may be used to output an imaginary component of cross-correlation results.

The cross-correlation results may be multiplied by two, as demonstrated by Equation 2 (block 130). It should be understood by one skilled in the art that the above described method may be implemented by hardware and/or by software. An example of an embodiment of the present invention that may use a combination of hardware and software will now be described.

Turning to FIG. 3, a block diagram of a receiver 300 according to an embodiment of the present invention is shown. Although, the scope of the present invention is not limited in this respect, receiver 300 may include an antenna 310, a transformation unit 315 that may include transformers 320, 330, and a cross-correlator 400. Cross-correlator 400 may include a cross-correlation controller 340, an accumulation unit 345 that may include a real accumulator 350 and an imaginary accumulator 360 and amplifiers 370, 380.

Although the scope of the present invention is not limited to this example, for simplicity of description, receiver 300 will be described as a WCDMA receiver. Antenna 310 may receive signals, for example, pilot signal, dedicated channel signal, or the like, that may include QPSK sequences. In some embodiments of the present invention antenna 310 may be a dipole antenna, if desired. However, other types of antennas may be used.

A demodulator (not shown) may output two signals, S1(N) and S2*(N+D), of QPSK sequences. Transformers 320 and 330 may receive signals S1(N) and S2*(N+D) of the QPSK sequences and may transform the QPSK sequences into two signals of complex binary sequences {tilde over (S)}₁(n) and {tilde over (S)}₂*(n), respectively. The transformation of QPSK sequences to complex binary sequences may be performed by ±(π/4) phase rotation of the QPSK sequences, as described in detail with reference to FIG. 2 above. Furthermore, transformers 320 and 330 may provide control bits such as, for example, sign bits 325 and 335 and type bits 327 and 337, to cross-correlation controller 340.

Although the scope of the present invention is not limited in this respect, cross-correlation controller 340 may provide complex binary sequences via ports 341, 346 and may enable or disable accumulators 350, 370 with ports 342, 347, respectively. More particularly, cross-correlation controller 340 may selectively control which accumulator may be active, using enable signals via ports 342, 347, according to sign bits 325, 335 and type bits 327, 337. An example of such a selective control is described with reference to Table 1 below.

Although the scope of the present invention is not limited in this respect, in some embodiments of the present invention, a representation as shown in Table 1 below may be stored in a memory (not shown). In addition, in other embodiments of the present invention, a representation as shown in Table 1 below may be implemented by hardware and/or by software.

TABLE 1 Real Image Sign Sign Type Type Accumulator Accumulator Bit Bit Bit Bit (350) (360) Index (325) (335) (327) (337) Input Enable Input Enable 0 Plus Plus Real Real  A On — Off 1 Plus Plus Real Image — Off  A On 2 Plus Plus Image Real — Off  A On 3 Plus Plus Image Image −A On — Off 4 Plus Minus Real Real −A On — Off 5 Plus Minus Real Image — Off −A On 6 Plus Minus Image Real — Off −A On 7 Plus Minus Image Image  A On — Off 8 Minus Plus Real Real −A On — Off 9 Minus Plus Real Image — Off −A On 10 Minus Plus Image Real — Off −A On 11 Minus Plus Image Image  A On — Off 12 Minus Minus Real Real  A On — Off 13 Minus Minus Real Image — Off  A On 14 Minus Minus Image Real — Off  A On 15 Minus Minus Image Image −A On — Off In Table 1 the following notation used:

-   “Index” represents indices of the complex binary sequence; -   “Sign Bits” (325, 335) represent the sign of the transformed     sequence; -   “Type Bits” (335, 337) represent weather the transformed bit of the     complex binary sequence is “Real” or “Image” (i.e., imaginary); -   “Input” represent which binary sequence may be provided to which of     the accumulators; and -   “Enable” represents whether or not the accumulator is enabled by the     enable bit.

Although the scope of the present invention is not limited in this respect, cross-correlation controller 340 may select the complex binary sequences according to Table 1. The selected sequences may be inputted to the selected accumulators 350 and/or 360, to be accumulated. Real accumulator 350 and imaginary accumulator 360 may produce the total Real/Image cross correlation results, respectively.

In addition, accumulators 350 and 360 may include an up/down counter and an AND gate (not shown). The AND gate may enable the up/down counter operation. However, it should be understood that other accumulator implementations may be used. Although, the scope of the present invention is not limited in this respect, multipliers 370, 380 may multiply the results of cross-correlation preformed by cross-correlation controller 340, real accumulator 350 and imaginary accumulator 360 by two, as depicted by Equation 2.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention. 

1. A receiver for use on a cellular radio network, the receiver comprising: a transformation unit configured to phase-rotate a phase of one or more sequences of a first input signal and a phase of one or more sequences of a second input signal; and a cross-correlator to cross-correlate the first and second input signals based on at least one bit provided by the transformation unit, the cross-correlator including: an accumulation unit to provide a real cross-correlated signal and an imaginary cross-correlated signal, a first multiplier to multiply the real cross-correlated signal, a second multiplier to multiply the imaginary cross-correlated signal, and a cross-correlation controller to provide a real component of the first and second input signals and an imaginary component of the first and second input signals to the accumulation unit, wherein the first multiplier is configured to multiply the real cross-correlated signal by two and the second multiplier is configured to multiply the imaginary cross-correlated signal by two.
 2. The receiver of claim 1, wherein the first and second input signals comprise complex sequences.
 3. The receiver of claim 2, wherein the complex sequences are complex binary sequences.
 4. The receiver of claim 1, wherein the at least one bit provided by the transformation unit comprises at least one of a sign bit or a type bit.
 5. The receiver of claim 1, wherein the accumulation unit comprises a first accumulator to provide the real cross-correlated signal and a second accumulator to provide the imaginary cross-correlated signal.
 6. The receiver of claim 1, wherein the transformation unit comprises: a first transformer to rotate one or more sequences of the first input signal to provide information relating to the first input signal that includes real and imaginary components; and a second transformer to rotate one or more sequences of the second input signal to provide information relating to the second signal that includes real and imaginary components.
 7. The receiver of claim 6, wherein the first and second input signals comprise complex sequences.
 8. The receiver of claim 7, wherein the first and second transformers are able to provide a phase rotation of ±(π/4) to bits of the complex sequences of the first and second input signals.
 9. The receiver of claim 7, wherein the complex sequences of the first and second input signals comprise values of ±A and ±j·A.
 10. A method comprising: phase-rotating, by a transformation unit, a phase of one or more sequences of a first input signal and a phase of one or more sequences of a second input signal; and cross-correlating the first input signal and the second input signal according to at least one bit provided by the phase-rotating of the first and second input signals, wherein cross-correlating the first input signal and the second input signal further comprises providing, by a cross-correlation controller to an accumulation unit, a real component of the first and second input signals and an imaginary component of the first and second input signals, providing, by the accumulation unit, a real cross-correlated signal and an imaginary cross-correlated signal, multiplying, by a first multiplier, the real cross-correlated signal by two, and multiplying, by a second multiplier, the imaginary cross-correlated signal by two.
 11. The method of claim 10, wherein the first and second input signals comprise complex sequences.
 12. The method of claim 11, wherein the complex sequences are complex binary sequences.
 13. The method of claim 11, wherein the accumulation unit comprises a real accumulator to which real components of complex sequences are provided and an imaginary accumulator to which imaginary components of complex sequences are provided.
 14. The method of claim 11, wherein rotating comprises rotating a phase of the complex sequences by ±(π/4).
 15. The method of claim 10, wherein the at least one bit provided by phase-rotating comprises at least one of a sign bit or a type bit.
 16. A receiver for use on a cellular radio network, the receiver comprising: a transformation unit to transform phase shift keying (PSK) sequences of first and second input signals into first and second signals of complex sequences; and a cross-correlator to cross-correlate the first and second signals of complex sequences, the cross-correlator including: an accumulation unit to provide a real cross-correlated signal and an imaginary cross-correlated signal, wherein the accumulation unit comprises (i) a first accumulator to provide the real cross-correlated signal and (ii) a second accumulator to provide the imaginary cross-correlated signal, a cross-correlation controller to provide a real component of the first and second signals of complex sequences and an imaginary component of the first and second signals of complex sequences to the accumulation unit, wherein the cross correlation controller is configured to selectively activate, at any given time, one of the first accumulator and the second accumulator based on at least one bit provided by the transformation unit, a first multiplier to multiply the real cross-correlated signal by two; and a second multiplier to multiply the imaginary cross-correlated signal by two.
 17. The receiver of claim 16, wherein the at least one bit provided by the transformation unit comprises at least one of a sign bit or a type bit. 